The present invention relates to an information processing apparatus, which intervenes in the data path between clients and servers in a system that operates in a client/server mode on a computer network, and mediates requests from clients to servers, and its method.
In general, as a proxy server that intervenes in the data path between clients and servers, "delegated" programmed by Yutaka Sato is known. Everyone can get the program "delegated" from an anonymous FTP site at a URL:
ftp://etlport.etl.go.jp/pub/DeleGate/
(URL is the abbreviation for Uniformity Resource Locators, and is described in detail in RFC-1738. "RFC-xxxx" indicates the protocol specifications published on Internet Architecture Board.)
With the advent of a system on a network, which has been popularly used in recent years, i.e., the World Wide Web system (note that the Web browser is a client program for the World Wide Web system, and the Web server is a server program for that system), such proxy server conveniently serves as an effective means for relaying communications between a Web browser and Web server.
The principal objectives of such existing proxy server are to limit direct firewall accesses from end user's computers and to promote security management. For these purposes, the principal function of the proxy server is to simply relay a request from a given client to a final server, and the proxy server itself does not normally change the contents of data.
However, some proxy servers not only relay data communications between clients and servers but also execute some kinds of data conversion.
Such conversion includes, e.g., kanji code conversion. Several types of kanji codes are currently used in various computers, and the same type of kanji codes is not always used in all resources (files) distributed onto a plurality servers. A given proxy server recognizes the type of kanji codes in a file acquired from a mediated server, and converts the recognized kanji code into one convenient for a client upon sending back the file to the client.
A proxy server that implements protocol conversion is also known. The above-mentioned "delegated" communicates with clients according to an HTTP protocol (Hypertext Transfer Protocol: described in detail in Internet Draft of the Internet Engineering Task Force). In this case, the proxy server determines the protocol that the server of interest uses on the basis of data in a URL contained in a request from a client, and makes an access that satisfies the request from the client using the determined server protocol. For example, "delegated" implements protocol conversion from the HTTP protocol to an FTP protocol (File Transfer Protocol: described in detail in RFC-959).
Since the proxy server connected to a client performs protocol conversion to communicate with a server, the client side can perform systematic processing independently of the actual server's protocol, and the user can feel systematic use. This is the advantage of use of the proxy server.
However, in the above-mentioned data conversion and protocol conversion, the data format conversion is merely done in communications between clients and servers, and no new information is added. That is, the proxy server merely relays information between clients and servers.
For this reason, requests from clients often have insufficient information for a protocol supported by a certain server so as to issue a request to that server, and the data conversion and protocol conversion may be disabled. As a result, the client side cannot systematically access the server with such protocol.
The conventional proxy server has no dedicated logic for determining the server to be connected so as to satisfy a request from a client. That is, the proxy server accesses only the server described in the request from the client.
For this reason, no problem is posed when information that satisfies a request from a client is present in only that server. However, when the information corresponding to the request is distributed to a plurality of locations or is present at one of a plurality of locations, the user himself or herself who is operating the client must access these locations to acquire the information he or she desired.